#include "ioport.h"
#define __KEY_C__
#include "key.h"
static U8 userkey;
static U8 lock_fg=0;
void key_input_init(void)
{
	U8 tempio;
	static U8 keytemp;
	static U8 keycnt=0;
	tempio=get_keyport();
	
	if(tempio!=keytemp)
	{
		keytemp=tempio;
		keycnt=0;
	}
	else
	{
		keycnt++;
		if(keycnt<25)
		{
			if(keycnt>20)
			{
				if(keytemp!=0)
				{
					if(lock_fg==0)
					{
						keycnt=30;
						userkey=keytemp;
					}
					else
					{
						keycnt=21;
					}
				}
			}
		}
		else
		{
			keycnt=30;	
		}
	}
}

U8 get_key(void)
{
	U8 tempkey;
	lock_fg=1;
	tempkey=userkey;
	userkey=0xff;
	lock_fg=0;
	switch(tempkey)
	{
		case 1: return ON_KEY;
		case 2: return FUNC_KEY;
		case 3: return UP_KEY;
		case 4: return DOWN_KEY;
		default: return NO_KEY;
	}
	return NO_KEY;

}
